using Gtk;
using System;


namespace animeshell
{
	
	
	public class RechercheExterne : Gtk.Window
	{
		protected Gtk.Entry txtRechercheNom;
		protected Gtk.ComboBoxEntry cbMoteur;
		protected Gtk.Button btnRechercher;
		protected Gtk.Button btnQuitter;
		protected Gtk.ListStore store;
		protected Gtk.CellRenderer cell;
		private Traitement m_CTraitement;
		private string Moteur;
		private string Navigateur;

		
		public RechercheExterne(Traitement CT) : base("")
		{
			Stetic.Gui.Build(this, typeof(animeshell.RechercheExterne));
			m_CTraitement = CT;
			Moteur = m_CTraitement.Pref[1];
			Navigateur = m_CTraitement.Pref[0];
			SetRecherche();
		}

		protected virtual void btnRechercher_Click(object sender, System.EventArgs e)
		{
			// Variables
			string Nom = txtRechercheNom.Text;
			string Argument = null;
			
			// Validation
			if (Nom == "")
			{
				MessageDialog md = new MessageDialog (null,DialogFlags.DestroyWithParent,MessageType.Warning, 
			                                         ButtonsType.Close, "Veuillez remplir le champs pour la recherche");
				md.Run();
				md.Destroy();
				return;
			}
			
			switch (cbMoteur.Active)
			{
				case 0: Argument = "http://anidb.info/perl-bin/animedb.pl?show=animelist&adb.search="+Nom;
						break;
				case 1: Argument = "http://www.google.ca/search?hl=fr&q="+Nom+"&btnG=Rechercher&meta=";
						break;
				case 2: Argument = "http://www.imdb.com/find?s=all&q="+Nom;
						break;
			}
				
			m_CTraitement.ExternalSearch(Argument);
			
		}

		protected virtual void btnQuitter_Click(object sender, System.EventArgs e)
		{
			this.Destroy();
		}
		
		private void SetRecherche()
		{
			// Configure le combobox avec le choix de moteur des préférences
			switch (Moteur)
			{
				case "http://anidb.info/": 		cbMoteur.Active = 0;
												break;
				case "http://www.google.ca/": 	cbMoteur.Active = 1;
												break;
				case "http://www.imdb.com/": 	cbMoteur.Active = 2;
												break;
			}
			
			// Vérifie le navigateur
			if (Navigateur == "aucun")
			{
				MessageDialog md = new MessageDialog (null,DialogFlags.DestroyWithParent,
				                       MessageType.Warning,ButtonsType.Close,
				"Veuillez choisir votre navigateur web dans les\r\npréférence avant d'effectuer une recherche.");
				md.Run();
				md.Destroy();
				this.Destroy();
			}	
		}
	}
}
